package com.cskaoyan._02handle._04throw;

/**
 * @description:
 * @author: 景天
 * @date: 2023/2/16 17:29
 **/
/*
throw 用在方法体内
表示具体抛出某个异常对象

 */
public class Demo {
    public static void main(String[] args) {
        // 针对运行时异常
        // func1();

        // 针对编译时异常
        try {
            func2();
        } catch (CloneNotSupportedException e) {
            System.out.println(e.toString());
        }
    }

    private static void func2() throws CloneNotSupportedException {
        // throw + 编译时异常对象
        // 需要结合throws关键字一起使用
        // 不在这里处理 交给方法的调用者处理
        throw new CloneNotSupportedException("出现了clone异常");

    }

    private static void func1() {
        // throw + 运行时异常对象(new 创建出来的)
        // throw new ArithmeticException("出现了算数异常");
        throw new RuntimeException("出现了运行时异常");
    }
}
